Jump to top/jump to bottom scroll widgets

ABSTRACT

Methods and systems for accelerated scrolling and zooming of content. A method may include receiving an indication of a scroll action. The scroll action indicates a direction to scroll and a user&#39;s intent to scroll a significant distance. The method further includes evaluating the direction and a length of the scroll action. The method still further includes providing a scroll widget, for example by an operating to an application. The widget is to be presented relative to a location of where the indication was received. The scroll widget then allows a user to jump to a top or an end of a content displayed at the location.

CROSS-REFERENCE

This application is a continuation of U.S. application Ser. No.13/090,034, filed Apr. 19, 2011, which is hereby in its entirety.

BACKGROUND

1. Technical Field

The field relates to operating systems and applications that allowscrolling, and more particularly to contextual widgets for jumping tothe top or bottom of a screen.

2. Background

In computing, scrolling is the act of moving content up or down in adisplay screen. Scrolling may be performed by using a pointing devicesuch as a mouse or a touch pad. Scrolling may also be performed directlyon the screen of a touch screen device by “dragging” the content in thedesired direction. This feature is common to devices such as smartphones. However, to reach the bottom of the content a user must eithercontinuously press and hold a scroll down arrow key, or continuouslydrag the content until the bottom is reached. Likewise, to return to thetop of the content a user must either continuously press and hold ascroll up arrow key, or continuously drag the content until the top isreached.

Similarly, in computing, zooming is the act of increasing or decreasingthe magnification level of the content. Zooming in (increasing themagnification level) and zooming out (decreasing the magnificationlevel) are performed in levels of magnification that requires tediouswork on the part of the user. There is no was to instantly go to fullmagnification, or return the magnification level to zero.

BRIEF SUMMARY

In an embodiment, a method includes receiving an indication of a scrollaction, which indicates a direction to scroll and a user's intent toscroll a significant distance. The direction and length of the scroll isevaluated. A scroll widget is then provided to be presented relative toa location of where the indication was received, thus allowing a user tojump to a top or an end of a content displayed at the location.

In another embodiment, a method includes receiving an indication of ascroll action, which indicates a direction to scroll and a user's intentto scroll a significant distance. The direction and length of the scrollare evaluated. A scroll widget is then displayed to be presentedrelative to a location of where the indication was received, thusallowing a user to jump to a top or an end of a content displayed at thelocation.

In yet another embodiment, a method includes receiving an indication ofa zoom action, which indicates a magnification level and a user's intentto continuously adjust the magnification level. The direction and lengthof the zoom action are evaluated. Then a zoom widget is provided thatare to be presented relative to a location of where the indication wasreceived, wherein the zoom widget allows a user to completely zoom in orcompletely zoom out a content displayed at the location.

In yet another embodiment, a system includes an on-screen input receiverthat receives an indication of a scroll action. A scroll/zoomaccelerator, implemented with a computing device, evaluates thedirection and length of the scroll action. The system then provides ascroll widget to be presented relative to a location of where theindication was received. The scroll widget allows a user to jump to atop or an end of a content displayed at the location.

Further embodiments, features, and advantages of the invention, as wellas the structure and operation of the various embodiments of theinvention are described in detail below with reference to accompanyingdrawings.

BRIEF DESCRIPTION OF THE FIGURES

Embodiments are described with reference to the accompanying drawings.In the drawings, like reference numbers may indicate identical orfunctionally similar elements. The drawing in which an element firstappears is generally indicated by the left-most digit in thecorresponding reference number.

FIG. 1A illustrates an example scroll action in accordance with anembodiment;

FIG. 1B illustrates an example presentation of scroll widgets inaccordance with an embodiment;

FIG. 1C illustrates an example zoom action in accordance with anembodiment;

FIG. 1D illustrates an example presentation of zoom widgets inaccordance with an embodiment;

FIG. 2 is a block diagram of exemplary system for providing ordisplaying widgets to accelerate scrolling or zooming on a screenaccording to an embodiment;

FIG. 3 is a flowchart of a method for providing scroll accelerationwidgets in accordance with an embodiment;

FIG. 4 is a flowchart of a method for displaying scroll accelerationwidgets in accordance with an embodiment;

FIG. 5 is a flowchart of a method for providing zoom accelerationwidgets in accordance with an embodiment.

DETAILED DESCRIPTION

Embodiments refer to illustrations described herein with reference toparticular applications. It should be understood that the invention isnot limited to the embodiments. Those skilled in the art with access tothe teachings provided herein will recognize additional modifications,applications, and embodiments within the scope thereof and additionalfields in which the embodiments would be of significant utility.

In the detailed description of embodiments that follows, references to“one embodiment”, “an embodiment”, “an example embodiment”, etc.,indicate that the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to effect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

Many operations on touch devices are tedious, particularly thoseinvolving zooming in and out or scrolling long lists of items. Theseembodiments relate to accelerator widgets which are added contextually,revealing a jump to top button when users are scrolling quickly. Asimilar widget may be visible for zooming in and out, allowing easyjumping to full or zero magnification, or sized to fit.

FIG. 1A illustrates an example scrolling action in accordance with anembodiment. Scroll indication 110 indicates a user's intent to scrollthrough content 120 in a downward direction. Scroll indication 110 maybe made by a pointing device or through direct contact with a devicescreen.

FIG. 1B illustrates the presentation of scroll widgets in accordancewith an embodiment. Up scroll widget 130 and down scroll widget 140 arepresented when an indication is received that the user is going toscroll a significant distance. This indication may be based on thenumber of pages scrolled, the speed at which pages are scrolled, thelength of a page scrolled, the amount of time spent scrolling, or anyother comparable threshold. Up scroll widget 130 allows a user to jumpto the top of the content. Down scroll widget 140 allows a user to jumpto the bottom of the content. Alternatively, though not shown, onewidget may be presented that performs jumps either to the top or bottomof the content.

FIG. 1C illustrates an example zoom action in accordance with anembodiment.

Zoom indication 160 indicates a user's intent to zoom into or out ofcontent 120. Zoom indication 160 may be made by a pointing device orthrough direct contact with a device screen.

FIG. 1D illustrates the presentation of zoom widgets in accordance withan embodiment. Zoom out widget 170 and size to fit widget 180 arepresented when an indication is received that the user is continuouslyzooming. This indication may be based on the number of levels ofmagnification traversed, the amount of time spent zooming, of any othercomparable threshold. Zoom out widget 170 allows a user to completelyzoom out by instantly returning to a zero-magnification view of thedisplayed content. Size to fit widget 180 allows a user to completelyzoom in on content 120 to a maximum level by instantly displaying thecontent at the maximum level of magnification. Alternatively, size tofit widget 180 may allow a user to zoom in to a specific part of content120 such that the magnified content is sized to fit the display. In anembodiment, widgets 130, 140, 170, and 180 may be transparent such thatthe underlying content may still be at least partially visible.

FIG. 2 is a block diagram of exemplary system 200 for providing ordisplaying widgets to accelerate scrolling or zooming on a screenaccording to an embodiment. System 200, or any combination of itscomponents, may be part of or may be implemented with a computingdevice. Examples of computing devices include, but are not limited to, acomputer, workstation, distributed computing system, computer cluster,embedded system, stand-alone electronic device, networked device, mobiledevice (e.g. mobile phone, smart phone, navigation device, tablet ormobile computing device), rack server, set-top box, or other type ofcomputer system having at least one processor and memory. Such acomputing device may include software, firmware, hardware, or acombination thereof. Software may include one or more applications andan operating system. Hardware can include, but is not limited to, aprocessor, memory and user interface display. System 200 may includewidget system 210 in communication with display device 220. Widgetsystem 210 may include an input system 212 and a scroll/zoom accelerator214.

Input system 212, according to one embodiment, receives an indication ofa scroll action that indicates the user intends to scroll a significantdistance, or an indication that the user is zooming continuously,according to another embodiment. Scroll/zoom accelerator 214 mayevaluate the direction and length of the scroll or zoom action, andprovide or display the corresponding widget relative to where theindication was received on the screen. Widget system 210 may beimplemented in an operating system or an application. When widget system210 is implemented in the operating system, the widgets are provided tothe application by widget system 210 for display on display device 220.When widget system 210 is implemented in the application, widget system210 directly displays the widgets on display device 220. When widgetsystem 210 detects that scrolling or zooming has stopped, widget systemprovides an indication to remove the widgets from the display, or in thecase where widget system 210 is implemented in an application, thewidget is removed from the display upon indication the scrolling orzooming has ceased.

FIG. 3 is a flowchart of a method 300 for providing scroll accelerationwidgets 130 and 140 in accordance with an embodiment. In one embodiment,an indication of a scroll action is received at 310 (e.g., by inputreceiver 212). The scroll action indicates a direction to scroll and auser's intent to scroll a significant distance. At 320 the direction anda length of the scroll action are evaluated. At 330, widget system 210provides a scroll widget to be presented relative to a location of wherethe indication was received. The scroll widget allows a user to jump toa top or an end of a content displayed at the location. When widgetsystem 210 detects that scrolling or zooming has ceased, widget system210 provides an indication to remove the widgets 130 and 140 from thescreen at 340. In such a method, the widget system 210 may beimplemented in the operating system.

FIG. 4 is a flowchart of a method 400 for displaying scroll accelerationwidgets 130 and 140 in accordance with an embodiment. In anotherembodiment, an indication of a scroll action is received at 410 (e.g.,by input receiver 212). The scroll action indicates a direction toscroll and a user's intent to scroll a significant distance. At 420 thedirection and a length of the scroll action are evaluated. At 430,widget system 210 displays a scroll widget to be presented relative to alocation of where the indication was received. The scroll widget allowsa user to jump to a top or an end of a content displayed at thelocation. When widget system 210 detects that scrolling or zooming hasceased, widget system 210 removes the widgets 130 and 140 from thescreen at 440. In such a method, the widget system 210 may beimplemented in the an application.

FIG. 5 is a flowchart of a method 500 for providing zoom accelerationwidgets 170 and 180 in accordance w′th an embodiment. In an embodiment,an indication of a zoom action is received at 510 (e.g., by inputreceiver 212). The zoom action indicates a magnification level and auser's intent to continuously adjust the magnification level. Thedirection and a length of the zoom action are then evaluated at 520. Thewidget system 210 then provides a zoom widget to be presented relativeto a location of where the indication was received at 530. The zoomwidget allows a user to completely zoom in or completely zoom out acontent displayed at the location. In addition, content may be sized tofit the screen via a zoom widget.

Aspects of the embodiments for exemplary system 200, such as widgetsystem 210, input receiver 212, scroll/zoom accelerator 214 and displaydevice 220, and/or methods 300-500 or any parts) or function(s) thereofmay be implemented using hardware, software modules, firmware, tangiblecomputer readable or computer usable storage media having instructionsstored thereon, or a combination thereof and may be implemented in oneor more computer systems or other processing systems.

Embodiments may be directed to computer products comprising softwarestored on any computer usable medium. Such software, when executed inone or more data processing device, causes a data processing device(s)to operate as described herein.

Embodiments may be implemented in hardware, software, firmware, or acombination thereof. Embodiments may be implemented via a set ofprograms running in parallel on multiple machines.

The summary and abstract sections may set forth one or more but not allexemplary embodiments of the present invention as contemplated by theinventor(s), and thus, are not intended to limit the present inventionand the appended claims in any way.

Embodiments of the present invention have been described above with theaid of functional building blocks illustrating the implementation ofspecified functions and relationships thereof. The boundaries of thesefunctional building blocks have been arbitrarily defined herein for theconvenience of the description. Alternate boundaries can be defined solong as the specified functions and relationships thereof areappropriately performed. The breadth and scope of the present inventionshould not be limited by any of the above-described exemplaryembodiments.

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the art, readily modify and/or adapt forvarious applications such specific embodiments, without undueexperimentation, without departing from the general concept of thepresent invention. Therefore, such adaptations and modifications areintended to be within the meaning and range of equivalents of thedisclosed embodiments, based on the teaching and guidance presentedherein. It is to be understood that the phraseology or terminologyherein is for the purpose of description and not of limitation, suchthat the terminology or phraseology of the present specification is tobe interpreted by the skilled artisan in light of the teachings andguidance.

1. A computer-implemented method, comprising: receiving a scroll actionon a touch device, wherein the scroll action indicates a direction toscroll and a length of the scroll action, wherein the scroll action is apress of a virtual scroll key or a dragging gesture associated withcontent output on a display of the touch device; determining whether thelength of the scroll action exceeds a predetermined threshold; and inresponse to determining that the length of the scroll action exceeds thepredetermined threshold, outputting, on the display, a scroll widget,wherein the scroll widget provides functionality to jump to a top or anend of the content output on the touch device.
 2. The method of claim 1,further comprising: determining a direction of the scroll action, andwherein displaying a scroll widget comprises: displaying a down scrollwidget when the direction of the scroll action is down and the length ofthe scroll action indicates that the end of the content should, bedisplayed, and displaying an up scroll widget when the direction of thescroll action is up and the length of the scroll action indicates thatthe top of the content should be displayed.
 3. The method of claim 2,wherein the down scroll widget allows a user to jump to the end of thecontent.
 4. (canceled)
 5. The method of claim 2, wherein the up scrollwidget allows the a user to jump to the top of the content.
 6. Themethod of claim 1, further comprising: receiving an indication of an endof the scroll action; and removing the scroll widget from display. 7-12.(canceled)
 13. A computer-implemented method, comprising: receiving anindication of a zoom action, wherein the zoom action indicates amagnification level and a user's intent to continuously adjust themagnification level; evaluating the direction and a length of the zoomaction; and providing a zoom widget to be presented relative to alocation of where the indication was received, wherein the zoom widgetallows a user to completely zoom in or completely zoom out a contentdisplayed at the location.
 14. The method of claim 13, wherein receivingan indication of a zoom action comprises: receiving an indication of azoom out action, wherein the zoom out action indicates that themagnification level of the content should be decreased.
 15. The methodof claim 14, wherein providing a zoom widget to be presented relative toa location of where the indication was received comprises: providing azoom out widget to be presented relative to the content, wherein thezoom out widget allows the user to decrease the magnification level ofthe content.
 16. The method of claim 13, wherein providing a zoom widgetto be presented relative to a location of where the indication wasreceived comprises: providing a size to fit widget to be presentedrelative to the content, wherein the size to fit widget allows the userto change a size of the content to fit a window associated with thecontent.
 17. A system, comprising: an on-screen input receiverconfigured to: receive an indication of a scroll action, wherein thescroll action is a press of a virtual scroll key or a dragging gestureassociated with content output on a display of the touch device; ascroll/zoom accelerator, implemented with a computing device, configuredto: determine whether the length of the scroll action exceeds thepredetermined threshold, and in response to determining that the scrollaction exceeds the predetermined threshold, outputting, on the display,a scroll widget, wherein the scroll widget provides functionality tojump to a top or an end of the content output on the touch device. 18.The system of claim 17, where the scroll/zoom accelerator is furtherconfigured to: determine a direction of the scroll action; and inresponse to determining that the scroll action is above thepredetermined threshold: display a down scroll widget when the directionof the scroll action is down and the length of the scroll actionindicates that the end of the content should be displayed, and displayan up scroll widget when the direction of the scroll action is up andthe length of the scroll action indicates that the top of the contentshould be displayed.
 19. (canceled)
 20. The method of claim 1, whereinthe length of the scroll action is a distance.
 21. The method of claim1, wherein the length of the scroll action is an amount of time.
 22. Themethod of claim 1, wherein the scroll widget is displayed relative to alocation of where the scroll action was received.
 23. The method ofclaim 1, wherein displaying a scroll widget comprises: providing anindication to display the scroll widget.
 24. The method of claim 1,wherein the predetermined threshold is based upon a number of pagesscrolled or a length of time spent scrolling.
 25. The system of claim18, wherein the up scroll widget allows a user to jump to the top of thecontent.
 26. The system of claim 18, wherein the down scroll widgetallows a user to jump to the end of the content.
 27. The system of claim17, wherein the length of the scroll action is a distance.
 28. Thesystem of claim 17, wherein the length of the scroll action is an amountof time.
 29. The system of claim 17, wherein the predetermined thresholdis based upon a number of pages scrolled or a length of time spentscrolling.